#ifndef CNC_BASE_KERNEL_SETUP_H
#define CNC_BASE_KERNEL_SETUP_H

#include "cooptask.h"
#include "coopmode.h"
#include "opmodeid.h"

namespace cnc {

	namespace base {

		struct KernelSetup
		{
			virtual void addTask(CooperativeTask *backgroundTask) = 0;
			virtual void addMode(OperationModeID modeID, CooperativeMode *operationMode) = 0;
			virtual void selectMode(OperationModeID modeID) = 0;
			virtual OperationModeID getMode() = 0;
		};

	} // namespace base

} // namespace cnc

#endif
